home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / gtk-2.0 / gtk / gtklabel.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-04-25  |  7.2 KB  |  183 lines

  1. /* GTK - The GIMP Toolkit
  2.  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3.  *
  4.  * This library is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU Lesser General Public
  6.  * License as published by the Free Software Foundation; either
  7.  * version 2 of the License, or (at your option) any later version.
  8.  *
  9.  * This library is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.  * Lesser General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU Lesser General Public
  15.  * License along with this library; if not, write to the Free
  16.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  */
  18.  
  19. /*
  20.  * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
  21.  * file for a list of people on the GTK+ Team.  See the ChangeLog
  22.  * files for a list of changes.  These files are distributed with
  23.  * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 
  24.  */
  25.  
  26. #ifndef __GTK_LABEL_H__
  27. #define __GTK_LABEL_H__
  28.  
  29.  
  30. #include <gdk/gdk.h>
  31. #include <gtk/gtkmisc.h>
  32. #include <gtk/gtkwindow.h>
  33. #include <gtk/gtkmenu.h>
  34.  
  35. G_BEGIN_DECLS
  36.  
  37. #define GTK_TYPE_LABEL          (gtk_label_get_type ())
  38. #define GTK_LABEL(obj)          (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_LABEL, GtkLabel))
  39. #define GTK_LABEL_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_LABEL, GtkLabelClass))
  40. #define GTK_IS_LABEL(obj)      (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_LABEL))
  41. #define GTK_IS_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_LABEL))
  42. #define GTK_LABEL_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_LABEL, GtkLabelClass))
  43.        
  44.  
  45. typedef struct _GtkLabel       GtkLabel;
  46. typedef struct _GtkLabelClass  GtkLabelClass;
  47.  
  48. typedef struct _GtkLabelSelectionInfo GtkLabelSelectionInfo;
  49.  
  50. struct _GtkLabel
  51. {
  52.   GtkMisc misc;
  53.  
  54.   /*< private >*/
  55.   gchar  *label;
  56.   guint   jtype : 2;
  57.   guint   wrap : 1;
  58.   guint   use_underline : 1;
  59.   guint   use_markup : 1;
  60.   guint   ellipsize : 3;
  61.  
  62.   guint   mnemonic_keyval;
  63.   
  64.   gchar  *text; 
  65.   PangoAttrList *attrs;
  66.   PangoAttrList *effective_attrs;
  67.   
  68.   PangoLayout *layout;
  69.  
  70.   GtkWidget *mnemonic_widget;
  71.   GtkWindow *mnemonic_window;
  72.   
  73.   GtkLabelSelectionInfo *select_info;
  74. };
  75.  
  76. struct _GtkLabelClass
  77. {
  78.   GtkMiscClass parent_class;
  79.  
  80.   void (* move_cursor)     (GtkLabel       *label,
  81.                 GtkMovementStep step,
  82.                 gint            count,
  83.                 gboolean        extend_selection);
  84.   void (* copy_clipboard)  (GtkLabel       *label);
  85.   
  86.   /* Hook to customize right-click popup for selectable labels */
  87.   void (* populate_popup)   (GtkLabel       *label,
  88.                              GtkMenu        *menu);
  89.  
  90.   /* Padding for future expansion */
  91.   void (*_gtk_reserved1) (void);
  92.   void (*_gtk_reserved2) (void);
  93.   void (*_gtk_reserved3) (void);
  94.   void (*_gtk_reserved4) (void);
  95. };
  96.  
  97. GType                 gtk_label_get_type          (void) G_GNUC_CONST;
  98. GtkWidget*            gtk_label_new               (const gchar   *str);
  99. GtkWidget*            gtk_label_new_with_mnemonic (const gchar   *str);
  100. void                  gtk_label_set_text          (GtkLabel      *label,
  101.                            const gchar   *str);
  102. G_CONST_RETURN gchar* gtk_label_get_text          (GtkLabel      *label);
  103. void                  gtk_label_set_attributes    (GtkLabel      *label,
  104.                            PangoAttrList *attrs);
  105. PangoAttrList        *gtk_label_get_attributes    (GtkLabel      *label);
  106. void                  gtk_label_set_label         (GtkLabel      *label,
  107.                            const gchar   *str);
  108. G_CONST_RETURN gchar *gtk_label_get_label         (GtkLabel      *label);
  109. void                  gtk_label_set_markup        (GtkLabel      *label,
  110.                            const gchar   *str);
  111. void                  gtk_label_set_use_markup    (GtkLabel      *label,
  112.                            gboolean       setting);
  113. gboolean              gtk_label_get_use_markup    (GtkLabel      *label);
  114. void                  gtk_label_set_use_underline (GtkLabel      *label,
  115.                            gboolean       setting);
  116. gboolean              gtk_label_get_use_underline (GtkLabel      *label);
  117.  
  118. void     gtk_label_set_markup_with_mnemonic       (GtkLabel         *label,
  119.                            const gchar      *str);
  120. guint    gtk_label_get_mnemonic_keyval            (GtkLabel         *label);
  121. void     gtk_label_set_mnemonic_widget            (GtkLabel         *label,
  122.                            GtkWidget        *widget);
  123. GtkWidget *gtk_label_get_mnemonic_widget          (GtkLabel         *label);
  124. void     gtk_label_set_text_with_mnemonic         (GtkLabel         *label,
  125.                            const gchar      *str);
  126. void     gtk_label_set_justify                    (GtkLabel         *label,
  127.                            GtkJustification  jtype);
  128. GtkJustification gtk_label_get_justify            (GtkLabel         *label);
  129. void     gtk_label_set_ellipsize          (GtkLabel         *label,
  130.                            PangoEllipsizeMode mode);
  131. PangoEllipsizeMode gtk_label_get_ellipsize        (GtkLabel         *label);
  132. void     gtk_label_set_width_chars          (GtkLabel         *label,
  133.                            gint              n_chars);
  134. gint     gtk_label_get_width_chars                (GtkLabel         *label);
  135. void     gtk_label_set_max_width_chars          (GtkLabel         *label,
  136.                              gint              n_chars);
  137. gint     gtk_label_get_max_width_chars        (GtkLabel         *label);
  138. void     gtk_label_set_pattern                    (GtkLabel         *label,
  139.                            const gchar      *pattern);
  140. void     gtk_label_set_line_wrap                  (GtkLabel         *label,
  141.                            gboolean          wrap);
  142. gboolean gtk_label_get_line_wrap                  (GtkLabel         *label);
  143. void     gtk_label_set_selectable                 (GtkLabel         *label,
  144.                            gboolean          setting);
  145. gboolean gtk_label_get_selectable                 (GtkLabel         *label);
  146. void     gtk_label_set_angle                      (GtkLabel         *label,
  147.                            gdouble           angle);
  148. gdouble  gtk_label_get_angle                      (GtkLabel         *label);
  149. void     gtk_label_select_region                  (GtkLabel         *label,
  150.                            gint              start_offset,
  151.                            gint              end_offset);
  152. gboolean gtk_label_get_selection_bounds           (GtkLabel         *label,
  153.                                                    gint             *start,
  154.                                                    gint             *end);
  155.  
  156. PangoLayout *gtk_label_get_layout         (GtkLabel *label);
  157. void         gtk_label_get_layout_offsets (GtkLabel *label,
  158.                                            gint     *x,
  159.                                            gint     *y);
  160.  
  161. void         gtk_label_set_single_line_mode  (GtkLabel *label,
  162.                                               gboolean single_line_mode);
  163. gboolean     gtk_label_get_single_line_mode  (GtkLabel *label);
  164.  
  165. #ifndef GTK_DISABLE_DEPRECATED
  166.  
  167. #define  gtk_label_set           gtk_label_set_text
  168. void       gtk_label_get           (GtkLabel          *label,
  169.                                     gchar            **str);
  170.  
  171. /* Convenience function to set the name and pattern by parsing
  172.  * a string with embedded underscores, and return the appropriate
  173.  * key symbol for the accelerator.
  174.  */
  175. guint gtk_label_parse_uline            (GtkLabel    *label,
  176.                     const gchar *string);
  177.  
  178. #endif /* GTK_DISABLE_DEPRECATED */
  179.  
  180. G_END_DECLS
  181.  
  182. #endif /* __GTK_LABEL_H__ */
  183.